/** 树形结构数据中查询满足条件的内容
 *  tree  查询主体
 *  attrs 条件数组
 *  id 主体数据中的判断条件
 **/
export function find(tree, attrs) { // attrs就是数组参考
  let ret = [];
  for (let i = 0; i < tree.length && attrs.length; ++i) {
    let obj = { ...tree[i] }; // 一般情况这个就是树状数据的根
    let index = attrs.indexOf(obj.id);
    if (index >= 0) {
      ret.push(obj);
      attrs.splice(index, 1);
    }
    if (tree[i].children instanceof Array) {
      obj.children = find(tree[i].children, attrs);
      if (obj.children.length && index < 0) ret.push(obj);
    }
  }
  return ret;
}

/**
 * 树状数据平铺为一维数组
 **/
export function deepTraversal(data,type) {
  let typeString = type ? type : 'id'
  const result = [];
  data.forEach(item => {
    const loop = data => {
      result.push( typeString== 'obj' ? data :data[typeString]); // 输出数组元素类型（原数据 ID ）
      let child = data.children
      if(child){
        for(let i = 0; i < child.length; i++){
          loop(child[i])
        }
      }
    }
    loop(item);
  })
  return result;
}


/**
 * 获取svg图标(id)列表
 */
export const getIconList = ()  => {
  const rs= [];
  const list = document.querySelectorAll("svg symbol");
  console.log(document,'000',list);

  for (let i = 0; i < list.length; i++) {
    rs.push(list[i].id);
  }
  return rs;
};
